#include<bits/stdc++.h>
using namespace std;
int n,x,h[1006],s[1006];
int dp[100006];
void solve() {
  for(int i=0; i<n; ++i)
    // for(int j=h[i]; j<x; ++j)
    for(int j=x; j>=h[i]; --j)
      dp[j] = max(dp[j], dp[j-h[i]]+s[i]);
  cout << dp[x] << '\n';
  return;
}
int main() {
  cin>>n>>x;
  for(int i=0; i<n; ++i) cin>>h[i];  // price
  for(int i=0; i<n; ++i) cin>>s[i];  // pages
  solve();
  return 0;
}